Multiple-input multiple-output (MIMO) communication systems use multiple data streams. Precoding can be provided to manipulate multiple data streams in MIMO communication systems by applying preceding matrices to the data streams.